/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package domain.controllers;

import domain.Entity.EntityDireccion;
import domain.Entity.EntityPerfil;
import domain.Entity.EntityTarea;
import domain.Entity.EntityTareaTrabajada;
import domain.Entity.EntityTrabajador;
import domain.Entity.EntityUsuario;
import java.sql.Time;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import managers.TareaManager;
import managers.TrabajoManager;
import managers.UsuarioManager;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.view.RedirectView;

/**
 *
 * @author jorge
 */
public class obtenerTrabajadorController implements Controller {

    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
        
        ModelAndView mav = new ModelAndView();
        HttpSession session = request.getSession();
        EntityUsuario eu = (EntityUsuario) session.getAttribute("usuario");
        if(eu == null){
            mav.setView(new RedirectView("login.htm"));
            return mav;
        }else{
        
        UsuarioManager um = UsuarioManager.getInstance();
        TareaManager tm = TareaManager.getInstance();
        TrabajoManager trm = TrabajoManager.getInstance();
        
        String  nombre = request.getParameter("nombre");
        String inv = null;
        if(nombre == null){
           session.setAttribute("invalido", inv);
           nombre = (String) session.getAttribute("nombre");
            
        }else{
            inv = "invalido";
            session.setAttribute("invalido", inv);
        }
        
        
        EntityUsuario usuario = um.get(nombre);
        if(usuario.getTipo().equals("trabajador")){
            EntityTrabajador etr = um.getTrabajador(usuario.getDni());
            List tiempos = trm.obtenertiemposTrabajador(etr);
            session.setAttribute("tiempostarea", tiempos);
            session.setAttribute("trabajadorPerfil",etr);
        }else{
            session.setAttribute("tiempostarea", null);
            session.setAttribute("trabajadorPerfil",null);
        }
        EntityPerfil perfil = um.obetenerPerfilUsuario(usuario.getDni());
        EntityDireccion direccion = um.obetenerDireccionUsuario(perfil.getIdPerfil());
        
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
        String fecha = null;
        
        if(perfil.getFechaNac() !=null){
            fecha = sdf.format(perfil.getFechaNac());
        }
       
        session.setAttribute("fechaNac", fecha);
        session.setAttribute("direccion", direccion);
        session.setAttribute("perfil", perfil);
        
            
            
        mav.setView(new RedirectView("miPerfil.htm"));
            
        
        return mav;
        }
    }

}
